﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QuanLyQuanCafe.DataAccess;
using QuanLyQuanCafe.BusinessObject;
using System.Data;
using System.Windows.Forms;

namespace QuanLyQuanCafe.BusinessLogic
{
    class DonViTinhBL
    {
        KetNoiDuLieu db = new KetNoiDuLieu();

        public DataTable LayDanhSachDVT()
        {
            string sql = "SELECT MaDVT,TenDVT FROM DVT";
            return db.LayDanhSachDuLieu(sql);
        }

        public DataTable LayIDCuaNCCCuoi()
        {
            string sql = "SELECT MAX(id) AS id FROM NHACC ";
            return db.LayDanhSachDuLieu(sql);
        }

        public bool ThemDVT(DonViTinhBO donvitinhbo)
        {
            if (KiemTraTruocKhiLuu(donvitinhbo))
            {
                string sql = string.Format("INSERT INTO DVT (MaDVT,TenDVT)"
                                    + "VALUES ('{0}',N'{1}')", donvitinhbo.MaDVT, donvitinhbo.TenDVT);
                if (db.ExecuteQuery(sql))
                {
                    MessageBox.Show("Thêm Đơn Vị Tính Thành Công", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }

        public bool SuaDVT(DonViTinhBO donvitinhbo)
        {
            if (KiemTraTruocKhiLuu(donvitinhbo))
            {
                string sql = string.Format("UPDATE DVT SET TenDVT = N'{0}'"
                                    + "WHERE MaDVT = '{1}'", donvitinhbo.TenDVT, donvitinhbo.MaDVT);
                if (db.ExecuteQuery(sql))
                {
                    MessageBox.Show("Sửa Đơn Vị Tính Thành Công", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }

        public bool XoaDVT(string value)
        {
            string sql = string.Format("DELETE FROM DVT WHERE MaDVT = '" + value + "'");
            if (db.ExecuteQuery(sql))
            {
                MessageBox.Show("Xóa Đơn Vị Tính Thành Công", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return true;
            }
            return false;
        }

        public bool KiemTraTruocKhiLuu(DonViTinhBO donvitinhbo)
        {

            if (donvitinhbo.MaDVT.Equals(""))
            {
                MessageBox.Show("Mã Đơn Vị Tính Không Hợp Lệ.", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }

            if (donvitinhbo.TenDVT.Equals(""))
            {
                MessageBox.Show("Tên Đơn Vị Tính Không Hợp Lệ.", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }

            return true;
        }
    }
}
